---
title: clsLegacyTaskCode
summary: API reference for clsLegacyTaskCode.
status: draft
owner: SAIF Documentation
last_reviewed: 2026-08-21
library: SAIF.Business.Tasks.Claim
reference_type: embedded
---

# clsLegacyTaskCode

`clsLegacyTaskCode` represents a single row of the read-only `LEGACY_TASK_CODE` reference table — task templating metadata (default text, day offsets, notepad flag) loaded only through its owning collection, never created, updated, or deleted.

## Purpose
- Holds one legacy task-code row's templating metadata for consumers building tasks from a code template.
- Enforces read-only access at the criteria level — all SQL properties other than `RetrieveSQL` throw ([BR-LTC-01](../../business-rules.md#br-ltc-01-legacy-task-codes-are-read-only)).

## Context
- Namespace: `SAIF.Business.Tasks.Claim`
- Assembly/package: `SAIF.Business.Tasks.Claim.dll` (embedded)

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| `LegacyTaskCode` | `Public ReadOnly Property LegacyTaskCode As String` | The natural key identifying this code-table row, used by `clsLegacyTaskCodeCollection.Item(String)`. |
| `DateDaysNum` | `Public Property DateDaysNum As Integer` | Number of days used to compute a default due date from this template. |
| `NotepadFlag` | `Public Property NotepadFlag As String` | Indicates whether tasks generated from this template require a notepad entry. |
| `TaskCategoryCode` | `Public Property TaskCategoryCode As String` | The task category code associated with this legacy code, correlating to the `clsTaskCategoryCodeCollection` domain.* |
| `TaskText` | `Public Property TaskText As String` | The default task text supplied by this template. |
| `TextDaysNum` | `Public Property TextDaysNum As Integer` | Number of days referenced within the default task text (e.g., a day-count placeholder). |
| `UseRunDateFlag` | `Public Property UseRunDateFlag As String` | Indicates whether the batch run date (rather than the current date) is used to compute the due date. |
| `MyCriteria` | `Public Property MyCriteria As Criteria` | Exposes the DPI-holding criteria object for this row. |
| `Shared Equals(objA, objB)` | `Public Shared Shadows Function Equals(objA As clsLegacyTaskCode, objB As clsLegacyTaskCode) As Boolean` | Static equality comparison between two instances. |
| `Overrides Equals(obj)` | `Public Overrides Function Equals(obj As Object) As Boolean` | Instance equality comparison. |
| `Overrides ToString()` | `Public Overrides Function ToString() As String` | Returns a string representation of the row. |
| `Protected Friend Load(dpi, reader)` | `Protected Friend Sub Load(dpi As IDataPortalInfo, reader As IDataReader)` | Populates the row from a data reader and marks it as an existing (`MarkOld`) record ([Load the legacy task code table](../../operations/op-16-load-legacy-task-code-table.md)). |

## Behavioral notes
- `CreateDate`/`CreateUser`/`UpdateDate`/`UpdateUser` are filled during `Load` but are not exposed publicly — held only as member state.*
- `Criteria.New(dpi, LegacyTaskCode)` accepts a code argument that it never stores; the discrepancy appears to be a code-generation artifact rather than intended behavior.*

## Constraints and usage notes
- All five `IBusinessCriteria` SQL properties on `Criteria` throw `ApplicationException(clsConstants.Messages.InvalidSQLProperty)` — rows are loaded only through `clsLegacyTaskCodeCollection`, never created, retrieved, updated, or deleted individually ([BR-LTC-01](../../business-rules.md#br-ltc-01-legacy-task-codes-are-read-only)).

> **Note:** Statements marked with * were inferred from code structure, naming conventions, or
> contextual evidence where direct confirmation was not available in source artifacts. Statements
> marked with ** could not be confirmed; treat as unknown until verified.

## Sources
- SAIF.Business.Tasks.Claim/clsLegacyTaskCode.vb
